//
//  Pod.swift
//  Documentation
//
//  Created by Toj on 1/26/21.
//

// 指明依赖库的来源地址(建议使用默认设置)
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/Artsy/Specs.git'

// 指定应在安装期间使用的插件
// 使用cocoapods-keys和slather这两个插件
plugin 'cocoapods-keys', :keyring => 'Eidolon'
plugin 'slather'

// 下载完成, 但是还没有安装之时, 可以使用hook机制通过pre_install指定要做更改, 更改完之后进入安装阶段
pre_install do |installer|
    // 做一些安装之前的更改
end

// 安装完成，但是生成的工程还没有写入磁盘之时，我们可以指定要执行的操作
post_install do |installer| installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['GCC_ENABLE_OBJC_GC'] = 'supported'
        end
    end
end

// 可以通过def命令来声明一个pod集
def 'CustomPods'
   pod 'IQKeyboardManagerSwift'
end

// 说明平台是ios，版本是9.0
platform :ios, '9.0'
platform :osx, 10.0
platform :tvOS, 9.0
platform :watchos, 2.0

// 去除警告
inhibit_all_warnings!
// 命名空间
workspace 'TT.xcworkspace'

use_frameworks!
// 通过指定use_frameworks!要求生成的是framework而不是静态库。
// 如果使用use_frameworks!命令会在Pods工程下的Frameworks目录下生成依赖库的framework
// 如果不使用use_frameworks!命令会在Pods工程下的Products目录下生成.a的静态库

// 引用部分模块
// 需要特别注意的是，虽然这样将会满足任何在Pod中的依赖项通过其他Pods 但是podspec必须存在于仓库的根目录中
def common_demo
    // 仅安装QueryKit下的Attribute和QuerySet模块
    pod 'QueryKit', :subspecs => ['Attribute', 'QuerySet']
// 使用本地文件
pod 'AFNetworking', :path => '~/Documents/AFNetworking'
// 引入master分支(默认)
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git'
// 引入指定的分支
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :branch => 'dev'
// 引入某个节点的代码
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'
// 引入某个特殊的提交节点
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :commit => '082f8319af'
end


// MARK: - e.g.

// 公共
def common_pods
    // json转gif文件
    pod 'lottie-ios'
    // 布局
    // swift推荐, oc不推荐
    pod 'SnapKit'
    // swift不推荐, oc推荐
    pod 'Masonry'
    // 图片加载
    pod 'Kingfisher'
    pod 'SDWebImage'

    // zip压缩/ 解压缩
    pod 'SSZipArchive'
    pod 'ZipArchive'
    // oss
    pod 'AliyunOSSiOS'
    // 网络库, 底层AF, 不是AFN哦
    pod 'Moya/RxSwift'
    pod 'AFNetworking'
    pod 'Alamofire'

    // Rx
    pod 'RxSwift',    '~> 5'
    pod 'RxCocoa',    '~> 5'
    // json <-> model
    // swift 推荐
    pod 'HandyJSON', '5.0.1'
    // oc推荐, swift不推荐, swift 兼容性有问题
    pod 'MJExtension', '3.0.15'

    // 返回值格式化, 没多大用
    pod 'Result'
end

// iOS 专用
def common_iOS_pods

    // 弹框
    pod 'MBProgressHUD', '~> 1.2.0'
    // webKit 桥接, 不推荐使用
    pod 'WebViewJavascriptBridge', '~> 6.0'
    // 下拉刷新
    pod 'MJRefresh'
    // 视频 播放
    pod 'AliPlayerSDK_iOS'
end

// macOS 专用
def common_macOS_pods

end

// live 公有
def common_live_OS_pods
    // 网易云信
    pod 'NIMSDK'
end

// iOS live 专用
def common_live_iOS_pods

    // 声网音视频iOS 版本
    pod 'AgoraRtcEngine_iOS', '~>2.9.0.107'
    // Zego音视频
    pod 'ZegoLiveRoom', '~>1.20.7.9'
    // Agora 信令iOS 版本
    pod 'AgoraRtm_iOS', '~> 1.4.0'
end

// macOS live 专用
def common_live_macOS_pods

    // 声网音视频macOS 版本
    pod 'AgoraRtcEngine_macOS','~> 2.9.0.106'
    // Agora 信令 macOS版本
    pod 'AgoraSig_macOS', '~> 1.4.0'
    // Agora 实时消息 macOS版本
    pod 'AgoraRtm_macOS', '~> 1.4.0'
end

target 'VIPLive' do
    use_frameworks!
    // 项目路径
    project 'VIPLive/VIPLive.xcodeproj'

    common_live_OS_pods

    common_live_iOS_pods
end

target 'VIPLive-mac' do
    use_frameworks!
    // 项目路径
    project 'VIPLive/VIPLive.xcodeproj'

    common_live_OS_pods

    common_live_macOS_pods
end

target 'TTProduct-iPad' do
    use_frameworks!
    project 'TTProduct-iPad/TTProduct-iPad.xcodeproj'

    common_pods

    common_iOS_pods

    common_live_OS_pods

    common_live_iOS_pods
end


target 'TTProduct' do
    use_frameworks!

    project 'TTProduct-macOS/TTProduct.xcodeproj'

    common_pods

    common_macOS_pods

    common_live_OS_pods

    common_live_macOS_pods
end
